From 54f575b72edf0e20ba75fddc497ce0bae2439b4e Mon Sep 17 00:00:00 2001 From: Keir Fraser Date: Wed, 19 May 2010 22:49:28 +0100 Subject: [PATCH] x86: When failing smp_callin() properly clean up before halting. In particular we must clear_local_APIC() else LAPIC NMI watchdog will continue to fire and use a stack which no longer exists. Signed-off-by: Keir Fraser --- xen/arch/x86/smpboot.c | 2 ++ 1 file changed, 2 insertions(+) diff --git a/xen/arch/x86/smpboot.c b/xen/arch/x86/smpboot.c index e548375049..45e5c3d797 100644 --- a/xen/arch/x86/smpboot.c +++ b/xen/arch/x86/smpboot.c @@ -164,6 +164,8 @@ void smp_callin(void) extern void (*dead_idle) (void); printk("CPU%d: Failed to initialise HVM. Not coming online.\n", cpu); cpu_error = rc; + clear_local_APIC(); + spin_debug_enable(); cpu_exit_clear(cpu); (*dead_idle)(); } -- 2.30.2